#ifndef CNETWORKIO_H_INCLUDED
#define CNETWORKIO_H_INCLUDED

#include "LON.h"

//! CNetworkIO
/** Interface for methods to write and read object
  from RakNet BitStream.
**/
class CNetworkIO
{
  public:
    CNetworkIO();
    virtual ~CNetworkIO();

    virtual void netWrite(BitStream &bs) = 0;

    virtual void netRead(BitStream &bs) = 0;

    /// == Static Methods ==
    //! Read string
    static wchar_t* readWcs(BitStream &bs);

    //! Write string
    static void writeWcs(BitStream &bs, const wchar_t* wcs);

  protected:
  private:
};

#endif // CNETWORKIO_H_INCLUDED
